package cn.edu.qfnu.oj.service;

import cn.edu.qfnu.common.exception.db.NoRecordFoundException;
import cn.edu.qfnu.common.exception.db.WrongParameterException;
import cn.edu.qfnu.common.service.BaseService;
import cn.edu.qfnu.oj.entity.Student;

/**
 * OnlineJudge of QF_NU
 * Created by LS on 2017/7/17.
 */
public interface StudentService extends BaseService<Student, String> {

    /**
     * 学生找回密码的功能
     * 通过向数据库中同时查询学号和邮箱来找到和匹配用户以提高安全性
     * @param studentId 要找回密码的学生Id
     * @param email 邮箱
     */
    boolean isExist(String studentId, String email)
            throws NoRecordFoundException;

    /**
     * 检验学生的用户密码 用于修改密码
     * @param studentId 学生ID
     * @param password 密码
     * @return 查到的学生
     * @throws WrongParameterException 密码错误异常
     */
    Student checkPassword(String studentId, String password) throws WrongParameterException;

}
